//所有创建的action对象
import {
  ADD,
  SQUARE
} from '../constans/ActionTypes';

// const addOne ={
//   type: ADD,
//   num: 1
// }

// const addTwo ={
//   type: ADD,
//   num: 2
// }

// const square ={
//   type: ADD
// }

//action创建函数
const addAction = (num) => {
  return {
    type: ADD,
    num: num
  }
}

const squareAction = () => {
  return {
    type: SQUARE
  }
}

//定义异步加载行为
const getAction = () => {
  //这里异步不能返回一个对象
  //所以返回一个函数
  return (dispatch, getState) => {
    //请求数据
    fetch('./mock/data.json')
      .then(res => res.json())
      .then(res => {
        //使用dispatch设置state数据
        dispatch({
          type: 'GET',
          num: Number(res[4])
        });
      });
    //console.log(res)
    //['React', 'Redux', 'Basic', 'Learning', '0']   
  }
}

export {
  addAction,
  squareAction,
  getAction
}